#ifndef __OLED_H
#define __OLED_H 

#include "sys.h"
#include "stdlib.h"	

//-----------------OLED端口定义---------------- 
// 使用了GPIOA的Pin4、5、6、7、8(PA8-CS未使用)
// PA4-SPI1_NSS		用作OLED的RES
// PA5-SPI1_SCLK	用作OLED的D0
// PA6-SPI1_MISO	用作OLED的DC
// PA7-SPI1_MOSI	用作OLED的D1
#define OLED_SCL_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_5)//D0
#define OLED_SCL_Set() GPIO_SetBits(GPIOA,GPIO_Pin_5)

#define OLED_SDA_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_7)//D1
#define OLED_SDA_Set() GPIO_SetBits(GPIOA,GPIO_Pin_7)

#define OLED_RES_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_4)//RES
#define OLED_RES_Set() GPIO_SetBits(GPIOA,GPIO_Pin_4)

#define OLED_DC_Clr()  GPIO_ResetBits(GPIOA,GPIO_Pin_6)//DC
#define OLED_DC_Set()  GPIO_SetBits(GPIOA,GPIO_Pin_6)
 		     
#define OLED_CS_Clr()  GPIO_ResetBits(GPIOA,GPIO_Pin_8)//CS
#define OLED_CS_Set()  GPIO_SetBits(GPIOA,GPIO_Pin_8)


#define OLED_CMD  0	//写命令
#define OLED_DATA 1	//写数据

extern u8 OLED_GRAM[128][8];

void OLED_ClearPoint(u8 x,u8 y);
void OLED_ColorTurn(u8 i);
void OLED_DisplayTurn(u8 i);
// void OLED_WR_Byte(u8 dat,u8 mode);

//取代OLED_WR_Byte函数，只写命令
void OLED_SendCmd(u8 TxData);

void OLED_DisPlay_On(void);
void OLED_DisPlay_Off(void);
void OLED_Refresh(void);

void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_DrawLine(u8 x1,u8 y1,u8 x2,u8 y2,u8 mode);
void OLED_DrawCircle(u8 x,u8 y,u8 r);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1,u8 mode);
void OLED_ShowChar6x8(u8 x,u8 y,u8 chr,u8 mode);
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1,u8 mode);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size1,u8 mode);
void OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1,u8 mode);
void OLED_ScrollDisplay(u8 num,u8 space,u8 mode);
void OLED_ShowPicture(u8 x,u8 y,u8 sizex,u8 sizey,u8 BMP[],u8 mode);
void OLED_Init(void);


void OLED_Show_Char(u8 ye,u8 lie, u8 c);

#endif

